// 惰性函数

/**
 * 复制文本到剪贴板
 */
export const copyText = (function () {
  // 判断浏览器是否支持Clipboard API
  if (navigator.clipboard) {
    // 如果支持，则返回一个函数，该函数接受一个字符串参数，并将该字符串复制到剪贴板
    return (text: string) => {
      navigator.clipboard.writeText(text)
    }
  } else {
    // 如果不支持，则返回一个函数，该函数接受一个字符串参数，并将该字符串复制到剪贴板
    return (text: string) => {
      // 创建一个input元素
      const input = document.createElement('input')
      // 设置input元素的value属性为传入的字符串参数
      input.setAttribute('value', text)
      // 将input元素添加到body元素中
      document.body.appendChild(input)
      // 选中input元素中的文本
      input.select()
      // 执行复制命令
      document.execCommand('copy')
      // 从body元素中移除input元素
      document.body.removeChild(input)
    }
  }
})()
